延續上一天慾望的源頭管理,今天想談價值與選擇,從小到大我們都會被給很多標準答案:
同樣的一件事情你可以有很多不同種的解釋,甚至很多上一輩在教育上會有自己堅持的看法,大絕招大概就是十年後你就知道了。
人們有不同的觀點和價值觀,因此對於事物的評價是主觀的是相對於其他事物而言的,從這個角度來看「不好」可能只是一個個人或群體的觀點,只是取決於它在特定情境下的對比,不一定代表客觀事實。
別人說不好不一定代表真的不好
評價程式碼或程式架構也是一個主觀的過程,受到個人觀點、經驗和期望的影響,一個人的不好也可能是另一個人的好。
延續之前的例子來繼續談,回顧一下專案假設今天總共用五個階段五個角色,每個角色在不同階段需要填的欄位並不相同,可以想像一個班級有不同的幹部,而班級學期報告需要大家按照各自的職掌在不同階段逐漸把內容完善。
以管理面來說
以組織和分類來說
把元件合在一起的時候好處是集中管理,需求更動屬於共用的地方改一次就好了,壞處是有可能因為這個修改就改壞大家共用的地方,也可能因次讓共用的地方越長越大。
把元件依照責任分開,好處是當需求越來越牛鬼蛇神,越來越「在地化」,A 說希望 1 2 3 4 5
,B 說 6 7 8 9 10
,這時候分開就展現出了好處,就跟兩個不同的國家一樣分開治理分開發展,即使剛開始同文同種,後來也演變成完全不同的樣貌。那壞處大概是有共用的地方就需要改好幾個,造成 Shotgun Surgery。
好與壞是一體兩面的東西,重要的是要在多個角度和標準下評價,並盡量尋求多方反饋。有時候,負面評價可能提供了改進的機會,但也可能只是基於誤解或主觀情感。
最終,我們應該尊重不同的觀點,並根據客觀標準來評價程式碼的品質,最好的程式碼評價是建立在事實和證據之上,而不僅僅是基於主觀感受。
人生沒有好與壞,只是不一樣